/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package main.NER;

import java.io.Serializable;
import java.util.List;
import main.KBProcess.Fragment;
import main.Ontology.ElementOntologySet;


/**
 *
 * @author Isaac Osesina
 */
public interface Stem extends Cloneable, Branch, Serializable  {

    Object getStemID();
    void setStemID(Object stemID);

    /**
     * Updates the <code>Fruit</code> of the given <code>Branch</code> if the branch if on exists
     * @param node
     *            is the given node to be removed
     *
     * @return <code>Branch</code>
     */
    @Override
	Branch updateFruit_Terminator(ElementOntologySet branchID, Fragment fragment);
    

    Branch addBranch(ElementOntologySet branchID);

    Branch addBranch(ElementOntologySet branchID, boolean append, Integer freq, Fragment fragment);

    Branch removeBranch(ElementOntologySet branchID);

    void addFragment(Fragment fragment);

    List<Fragment> getFragmentList();
}
